Because the header is part of
the message, you can edit the header fields as you wish. However,
several convenience commands exist to help you create and edit
them. For example, the command C-c C-f C-t
(mh-to-field; alternatively, C-c C-f t)
moves the cursor to the ‘To:’ header field, creating it if
necessary. The commands for moving to the
‘Cc:’,
‘Subject:’,
‘From:’,
‘Reply-To:’,
‘Mail-Reply-To:’,
‘Mail-Followup-To’,
‘Bcc:’, and
‘Dcc:’ header
fields are similar.
One command behaves
differently from the others, namely, C-c C-f C-f
(mh-to-fcc; alternatively, C-c C-f f).
This command will prompt you for the folder name in which to file
a copy of the draft. See Folder
Selection.
Within
the header of the message, the command
<TAB> (mh-letter-next-header-field-or-indent)
moves between fields that are highlighted with the face
mh-letter-header-field, skipping those fields listed
in mh-compose-skipped-header-fields. After the last
field, this command then moves point to the message body before
cycling back to the first field. If point is already past the
first line of the message body, then this command indents by
calling indent-relative with the given prefix
argument. The command S-<TAB>
(mh-letter-previous-header-field) moves backwards
between the fields and cycles to the body of the message after
the first field. Unlike the command <TAB>, it will always
take point to the last field from anywhere in the body.
If
the field contains addresses (for example,
‘To:’ or
‘Cc:’) or
folders (for example, ‘Fcc:’) then the command
M-<TAB> (mh-letter-complete) will
provide alias completion (see Aliases). In the body of the message,
M-<TAB> runs
mh-letter-complete-function instead, which is set to
‘'ispell-complete-word’ by default. The
command M-<TAB>
(mh-letter-complete) takes a prefix argument that is
passed to the mh-letter-complete-function. In
addition, turn on the option
mh-compose-space-does-completion-flag to use the
command <SPC> (mh-letter-complete-or-space) to
perform completion in the header as well; use a prefix argument
to specify more than one space. Addresses are separated by a
comma; when you press the comma, the command
mh-letter-confirm-address flashes the alias
expansion in the minibuffer if
mh-alias-flash-on-comma is turned on.
Use the command C-c
C-t mh-letter-toggle-header-field-display to
display truncated header fields. This command is a toggle so
entering it again will hide the field. This command takes a
prefix argument: if negative then the field is hidden, if
positive then the field is displayed (for example, C-u C-c
C-t).
Be sure to leave a row of dashes or a blank line between the header and the body of the message.
The body of
the message is edited as you would edit any Emacs buffer although
there are a few commands and options to assist you. You can
change the fill column in MH-Letter mode with the option
mh-letter-fill-column. By default, this option is 72
to allow others to quote your message without line wrapping.
You'll often
include messages that were sent from user agents that haven't yet
realized that paragraphs consist of more than a single line. This
makes for long lines that wrap in an ugly fashion. You'll find
that M-q (fill-paragraph) works well even
on these quoted messages, even if they are nested, just as long
as all of the quotes match the value of
mh-ins-buf-prefix (see Inserting Letter).
For example, let's assume you have the following in your
draft:
> Hopefully this gives you an idea of what I'm currently doing. I'm \
not sure yet whether I'm completely satisfied with my setup, but \
it's worked okay for me so far.
Running M-q on this paragraph produces:
> Hopefully this gives you an idea of what I'm currently doing. I'm not
> sure yet whether I'm completely satisfied with my setup, but it's
> worked okay for me so far.
The command C-c C-o
(mh-open-line) is similar to the command
C-o (open-line) in that it inserts a
newline after point. It differs in that it also inserts the right
number of quoting characters and spaces so that the next line
begins in the same column as it was. This is useful when breaking
up paragraphs in replies. For example, if this command was used
when point was after the first period in the paragraph above, the
result would be this:
> Hopefully this gives you an idea of what I'm currently doing.
> I'm not
> sure yet whether I'm completely satisfied with my setup, but it's
> worked okay for me so far.